"display", display_wayland,
NULL);
seat->id = id;
- seat->keymap = _gdk_wayland_keymap_new ();
+ seat->keymap = _gdk_wayland_keymap_new (display);
seat->display = display;
seat->touches = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_free);
seat->foreign_dnd_window = create_foreign_dnd_window (display);
return _gdk_wayland_device_get_keymap (core_keyboard);
if (!tmp_keymap)
- tmp_keymap = _gdk_wayland_keymap_new ();
+ tmp_keymap = _gdk_wayland_keymap_new (display);
return tmp_keymap;
}
}
GdkKeymap *
-_gdk_wayland_keymap_new (void)
+_gdk_wayland_keymap_new (GdkDisplay *display)
{
GdkWaylandKeymap *keymap;
struct xkb_context *context;
struct xkb_rule_names names;
keymap = g_object_new (_gdk_wayland_keymap_get_type(), NULL);
+ GDK_KEYMAP (keymap)->display = display;
context = xkb_context_new (0);
#define GDK_WINDOW_IS_WAYLAND(win) (GDK_IS_WINDOW_IMPL_WAYLAND (((GdkWindow *)win)->impl))
-GdkKeymap *_gdk_wayland_keymap_new (void);
+GdkKeymap *_gdk_wayland_keymap_new (GdkDisplay *display);
void _gdk_wayland_keymap_update_from_fd (GdkKeymap *keymap,
uint32_t format,
uint32_t fd,